describe('模拟用户与浏览器交互的api', () => {
  beforeEach(()=>{
    cy.exec('node main.js',{ failOnNonZeroExit: false })
    cy.visit('http://localhost:3000/demo-form.html');
  })

  // chai mocha
  
  // TODO交互-点击
  it('点击', () => {
    cy.contains('点击数').click();
    cy.contains('点击数').click();
    cy.wait(2000);
    cy.contains('点击数').dblclick();
    cy.contains('点击数').rightclick();
  })

  // TODO:交互-输入
  it('文案的填充、清空',()=>{
    cy.get('input').first().type(1);
    cy.wait(200);
    cy.get('input').first().type(2);
    cy.wait(200);
    cy.get('input').first().type(3);
    cy.get('input').first().clear();
  })

  // TODO:交互-选择框
  it('复选框、单选框',()=>{
    // element 是实现原理是隐藏真实dom所有用这些api 会报错
    // cy.get('[type="checkbox"]').first().check();
    cy.get('[type="checkbox"]').filter('#check-dom').check();
    cy.wait(3000);
    cy.get('[type="checkbox"]').filter('#check-dom').uncheck();
    cy.get('[type="radio"]').filter('#radio-dom').check();
    cy.wait(3000);
    // radio
    // cy.get('[type="radio"]').filter('#radio-dom').trigger();
    // cy.get('[type="radio"]').filter('#radio-dom').uncheck();
  })

  // TODO:交互-滚动
  it('滚动api',()=>{
    cy.visit('http://localhost:3000/demo-scroll.html')
    cy.scrollTo(0,2000); // 滚动window窗口
    cy.get('.content').parent().scrollTo(0,400); // dom元素内部滚动
    cy.scrollTo('top',{duration:4000});

    cy.wait(2000);
    cy.get('.block-10').scrollIntoView(); // dom 滚动到适口
  })

  // TODO:交互-下拉框
  it('下拉选择器',()=>{
    cy.get('select').select('3'); // 原生选择器
  });

  // TODO:交互-触发事件
  it('事件触发',()=>{
    cy.contains('Create').trigger('click');
  });

  // TODO:交互-input[file]文件添加
  it('文件选择',()=>{
    // cy.get('[type="file"]').selectFile('cypress/fixtures/demo.jpg',{ action: 'drag-drop' });
    cy.get('#other').selectFile('cypress/fixtures/demo.jpg');
  });
})